Predicting metamorphic relations for testing scientific software: a machine learning approach using graph kernels

نویسندگان

  • Upulee Kanewala
  • James M. Bieman
  • Asa Ben-Hur
چکیده

Comprehensive, automated software testing requires an oracle to check whether the output produced by a test case matches the expected behavior of the program. But the challenges in creating suitable oracles limit the ability to perform automated testing in some programs, and especially in scientific software. Metamorphic testing is a method for automating the testing process for programs without test oracles. This technique operates by checking whether the program behaves according to properties called metamorphic relations. A metamorphic relation describes the change in output when the input is changed in a prescribed way. Unfortunately, finding the metamorphic relations satisfied by a program or function remains a labor intensive task, which is generally performed by a domain expert or a programmer. In this work we propose a machine learning approach for predicting metamorphic relations that uses a graph-based representation of a program to represent control flow and data dependency information. In earlier work we found that simple features derived from such graphs provides good performance. An analysis of the features used in this earlier work led us to explore the effectiveness of several representations of those graphs using the machine learning framework of graph kernels, which provide various ways of measuring similarity between graphs. Our results show that a graph-kernel that evaluates the contribution of all paths in the graph has the best accuracy and that control flow information is more useful than data dependency information. The data used in this study is available for download at http://www.cs.colostate.edu/saxs/MRpred/functions.tar. gz to help researchers in further development of metamorphic relation prediction methods. Copyright c © 2015 John Wiley & Sons, Ltd.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Predicting Metamorphic Relation for Matrix Calculation Programs

Matrices often represent important information in scientific applications and are involved in performing complex calculations. But systematically testing these applications is hard due to the oracle problem. Metamorphic testing is an effective approach to test such applications because it uses metamorphic relations to determine whether test cases have passed or failed. Metamorphic relations are...

متن کامل

A Machine Learning Approach for Developing Test Oracles for Testing Scientific Software

Absence of test oracles is the grand challenge for testing complex scientific software. Metamorphic testing is the novel technique for developing test oracles on metamorphic relations. Although it is easy to find metamorphic relations based on general guidelines and domain knowledge, the ones that can adequately test the software are difficult to be developed. This paper introduces a machine le...

متن کامل

Using Semi-Supervised Learning for Predicting Metamorphic Relations

Software testing is difficult to automate, especially in programs which have no oracle, or method of determining which output is correct. Metamorphic testing is a solution this problem. Metamorphic testing uses metamorphic relations to define test cases and expected outputs. A large amount of time is needed for a domain expert to determine which metamorphic relations can be used to test a given...

متن کامل

Improving the Quality of Computational Science Software by Using Metamorphic Relations to Test Machine Learning Applications

Many applications in the field of scientific computing such as computational biology, computational linguistics, and others depend on Machine Learning algorithms to provide important core functionality to support solutions in the particular problem domains. However, it is difficult to test such applications because often there is no “test oracle” to indicate what the correct output should be fo...

متن کامل

A Machine Learning Based Framework for Verification and Validation of Massive Scale Image Data

Big data validation and system verification are crucial for ensuring the quality of big data applications. However, a rigorous technique for such tasks is yet to emerge. During the past decade, we have developed a big data system called CMA for investigating the classification of biological cells based on cell morphology that is captured in diffraction images. CMA includes a group of scientific...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Softw. Test., Verif. Reliab.

دوره 26  شماره 

صفحات  -

تاریخ انتشار 2016